package com.ruoyi.electronicFence.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 设备或场景与监测设备关联  对象 t_ef_equipment_device
 *
 * @author sxygsj
 * @date 2024-05-29
 */

public class TEfEquipmentDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 单位编号 */
    @Excel(name = "单位编号")
    private String unitCode;

    /** 所属区域编号 */
    @Excel(name = "所属区域编号")
    private String areaId;

    /** 所属区域编号 */
    @Excel(name = "所属区域编号")
    private String areaName;

    /** 所属区域编号 */
    @Excel(name = "所属区域编号")
    private String areaType;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String equipmentCode;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String equipmentType;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String equipmentName;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceType;

    /** 设备状态 */
    @Excel(name = "设备状态")
    private String equipmentStatus;

    /** 控制器编号 */
    @Excel(name = "控制器编号")
    private String controllerId;

    /** 监测设备数组编号 */
    @Excel(name = "监测设备数组编号")
    private List<TDeviceStatus> tDeviceStatusList;


    /** 告警类型 */
    @Excel(name = "告警类型")
    private String alarmType;



    /** 状态持续时长 */
    @Excel(name = "状态持续时长")
    private Integer durationSeconds;

    /** 状态持续时长Str */
    @Excel(name = "状态持续时长Str")
    private String durationSecondsStr;

    /** 状态开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "状态开始时间")
    private LocalDateTime statusStartDateTime;

    /** 数据时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "数据时间")
    private LocalDateTime dataTime;


    public TEfEquipmentDevice(Long id, String unitCode, String areaId, String areaName, String areaType, String equipmentCode, String equipmentType, String equipmentName, String deviceId, String deviceName, String deviceType, String equipmentStatus, String controllerId, List<TDeviceStatus> tDeviceStatusList, String alarmType, Integer durationSeconds, String durationSecondsStr, LocalDateTime statusStartDateTime, LocalDateTime dataTime) {
        this.id = id;
        this.unitCode = unitCode;
        this.areaId = areaId;
        this.areaName = areaName;
        this.areaType = areaType;
        this.equipmentCode = equipmentCode;
        this.equipmentType = equipmentType;
        this.equipmentName = equipmentName;
        this.deviceId = deviceId;
        this.deviceName = deviceName;
        this.deviceType = deviceType;
        this.equipmentStatus = equipmentStatus;
        this.controllerId = controllerId;
        this.tDeviceStatusList = tDeviceStatusList;
        this.alarmType = alarmType;
        this.durationSeconds = durationSeconds;
        this.durationSecondsStr = durationSecondsStr;
        this.statusStartDateTime = statusStartDateTime;
        this.dataTime = dataTime;
    }

    public TEfEquipmentDevice() {
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUnitCode() {
        return unitCode;
    }

    public void setUnitCode(String unitCode) {
        this.unitCode = unitCode;
    }

    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public String getAreaType() {
        return areaType;
    }

    public void setAreaType(String areaType) {
        this.areaType = areaType;
    }

    public String getEquipmentCode() {
        return equipmentCode;
    }

    public void setEquipmentCode(String equipmentCode) {
        this.equipmentCode = equipmentCode;
    }

    public String getEquipmentType() {
        return equipmentType;
    }

    public void setEquipmentType(String equipmentType) {
        this.equipmentType = equipmentType;
    }

    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getEquipmentStatus() {
        return equipmentStatus;
    }

    public void setEquipmentStatus(String equipmentStatus) {
        this.equipmentStatus = equipmentStatus;
    }

    public String getControllerId() {
        return controllerId;
    }

    public void setControllerId(String controllerId) {
        this.controllerId = controllerId;
    }

    public List<TDeviceStatus> gettDeviceStatusList() {
        return tDeviceStatusList;
    }

    public void settDeviceStatusList(List<TDeviceStatus> tDeviceStatusList) {
        this.tDeviceStatusList = tDeviceStatusList;
    }

    public String getAlarmType() {
        return alarmType;
    }

    public void setAlarmType(String alarmType) {
        this.alarmType = alarmType;
    }

    public Integer getDurationSeconds() {
        return durationSeconds;
    }

    public void setDurationSeconds(Integer durationSeconds) {
        this.durationSeconds = durationSeconds;
    }

    public String getDurationSecondsStr() {
        return durationSecondsStr;
    }

    public void setDurationSecondsStr(String durationSecondsStr) {
        this.durationSecondsStr = durationSecondsStr;
    }

    public LocalDateTime getDataTime() {
        return dataTime;
    }

    public void setDataTime(LocalDateTime dataTime) {
        this.dataTime = dataTime;
    }

    public LocalDateTime getStatusStartDateTime() {
        return statusStartDateTime;
    }

    public void setStatusStartDateTime(LocalDateTime statusStartDateTime) {
        this.statusStartDateTime = statusStartDateTime;
    }
}
